// pages/logs/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    flag: true,
    titletop: '简历填写',
    // 简历信息************************************
    userInfo: {
      username: '',
      // 年龄
      age: '',
      sex: '0',
      avatarUrl: '',
      // 籍贯
      jiguan: '',
      //手机
      phoneNumber: '',
      // 邮箱
      email: '',
      // 技能特长
      skills: [
        {
          // 技能介绍
          skillIntro: '',
        }
      ],
      // 教育经历
      education: [
        {
          // 学历
          education: '',
          // 学校
          school: '',
          // 专业
          major: '',
          // 入学时间
          starttime: '',
          // 毕业时间
          endtime: ''
        }
      ],
      // 工作经历
      work: [
        {
          // 公司名称
          companyname: '',
          // 职位
          position: '',
          // 开始时间
          starttime: '',
          // 结束时间
          endtime: '',
          // 工作内容
          workcontent: ''
        }
      ],

      // 自我评价
      evaluate: '',
      // 项目经验
      project: [
        {
          // 项目时间
          projecttime: '',
          // 项目名称
          projectname: '',
          // 工作内容
          projectcontent: '',
          // 项目职责
          projectduty: '',
          // 项目技术
          projecttechnology: '',
          // 项目图片
          projectimg: [],
          // 项目链接
          projectlink: ''
        }
      ],
    },
    workItem: {
      // 公司名称
      companyname: '',
      // 职位
      position: '',
      // 开始时间
      starttime: '',
      // 结束时间
      endtime: '',
      // 工作内容
      workcontent: ''
    },
    skillsItem: {
      // 技能介绍
      skillIntro: '',
    },
    educationItem: {
      // 学历
      education: '',
      // 学校
      school: '',
      // 专业
      major: '',
      // 入学时间
      starttime: '',
      // 毕业时间
      endtime: ''
    },
    projectItem: {
      // 项目时间
      projecttime: '',
      // 项目名称
      projectname: '',
      // 工作内容
      projectcontent: '',
      // 项目职责
      projectduty: '',
      // 项目技术
      projecttechnology: '',
      // 项目图片
      projectimg: [],
      // 项目链接
      projectlink: ''
    },
    // 简化页面代码
    workKeys: [
      {
        key: 'companyname',
        label: '公司名称'
      },
      {
        key: 'position',
        label: '职位'
      },
      {
        key: 'starttime',
        label: '开始时间'
      },
      {
        key: 'endtime',
        label: '结束时间'
      },
      {
        key: 'workcontent',
        label: '工作内容'
      },
    ],
    educationKeys: [
      {
        key: 'education',
        label: '学历'
      },
      {
        key: 'school',
        label: '学校'
      },
      {
        key: 'major',
        label: '专业'
      },
      {
        key: 'starttime',
        label: '入学时间'
      },
      {
        key: 'endtime',
        label: '毕业时间'
      },
    ],
    projectKeys: [
      {
        key: 'projecttime',
        label: '项目时间'
      },
      {
        key: 'projectname',
        label: '项目名称'
      },
      {
        key: 'projectcontent',
        label: '工作内容'
      },
      {
        key: 'projectduty',
        label: '项目职责'
      },
      {
        key: 'projecttechnology',
        label: '项目技术'
      },
      {
        key: 'projectimg',
        label: '项目图片'
      },
      {
        key: 'projectlink',
        label: '项目链接'
      },
    ],
    skillKeys: [
      {
        key: 'skillIntro',
        label: '技能介绍'
      }
    ],
    userlist: [],
    query: {
    },
    num: 1,
    fenye: true

  },
  //基本信息赋值
  setInfo(e) {
    let type = e.currentTarget.dataset.type
    let userInfo = this.data.userInfo
    userInfo[type] = e.detail.value
    this.setData({
      userInfo: userInfo
    })
  },
  //项目内容赋值-----教育经历赋值
  setproject(e) {
    //修改的是哪一项
    let inindex = e.currentTarget.dataset.inindex
    let index = e.currentTarget.dataset.index
    let userInfo = this.data.userInfo
    // 修改的是哪个字段
    let type = e.currentTarget.dataset.type
    // 修改的是项目，教育经历还是工作经历
    let infoType = e.currentTarget.dataset.infotype
    userInfo[infoType][index][type] = e.detail.value
    this.setData({
      userInfo: userInfo
    })
  },
  uploadAvatar() {
    let that = this //this重新赋值
    let num = 1
    wx.chooseMedia({
      count: 1, //最大选中（上传）数量
      sizeType: ['original', 'compressed'],
      mediaType: ['image'], //图片还是视频
      sourceType: ['album', 'camera'], // album相册//camera相机
      maxDuration: 30, // 拍摄视频最长拍摄时间，单位秒。时间范围为 3s 至 60s 之间。不限制相册
      camera: 'back',
      success(res) {
        num = res.tempFiles.length
        for (let i = 0; i < res.tempFiles.length; i++) {
          let uniqueFileName = 'headerImageList/' + +new Date() + '-' + Math.random() + '.png';
          wx.cloud.uploadFile({
            cloudPath: uniqueFileName,
            filePath: res.tempFiles[i].tempFilePath,
            success(resp) {
              let userInfo = that.data.userInfo
              userInfo.avatarUrl = resp.fileID
              that.setData({
                userInfo: userInfo
              })
            },
            fail(err) {
              console.log(err, "错误");
            }
          })
        }
      },
    })
  },
  uploadProjectImg(e) {
    let that = this //this重新赋值
    let index = e.currentTarget.dataset.index
    wx.chooseMedia({
      count: 9, //最大选中（上传）数量
      sizeType: ['original', 'compressed'],
      mediaType: ['image'], //图片还是视频
      sourceType: ['album', 'camera'], // album相册//camera相机
      maxDuration: 30, // 拍摄视频最长拍摄时间，单位秒。时间范围为 3s 至 60s 之间。不限制相册
      camera: 'back',
      success(res) {
        let projectImg = that.data.userInfo.project[index].projectimg
        for (let i = 0; i < res.tempFiles.length; i++) {
          let uniqueFileName = 'projectImageList/' + +new Date() + '-' + Math.random() + '.png';
          wx.cloud.uploadFile({
            cloudPath: uniqueFileName,
            filePath: res.tempFiles[i].tempFilePath,
            success(resp) {
              projectImg.push(resp.fileID)
              let userInfo = that.data.userInfo
              userInfo.project[index].projectimg = projectImg
              that.setData({
                userInfo: userInfo
              })
              console.log(that.data.userInfo, '33333333');
            },
            fail(err) {
              console.log(err, "错误");
            }
          })
         
        }
      },
      
    })
  },
  //新增项目
  addProject(e) {
    let addItem = e.currentTarget.dataset.additem
    let infotype = e.currentTarget.dataset.infotype
    let userInfo = this.data.userInfo
    this.clearItem()
    userInfo[infotype].push(this.data[addItem])
    this.setData({
      userInfo: userInfo
    })
  },
  //清空Item
  clearItem() {
    let workItem = {
      // 公司名称
      companyname: '',
      // 职位
      position: '',
      // 开始时间
      starttime: '',
      // 结束时间
      endtime: '',
      // 工作内容
      workcontent: ''
    }
    let educationItem = {
      // 学历
      education: '',
      // 学校
      school: '',
      // 专业
      major: '',
      // 入学时间
      starttime: '',
      // 毕业时间
      endtime: ''
    }
    let projectItem = {
      // 项目时间
      projecttime: '',
      // 项目名称
      projectname: '',
      // 工作内容
      projectcontent: '',
      // 项目职责
      projectduty: '',
      // 项目技术
      projecttechnology: '',
      // 项目图片
      projectimg: [],
      // 项目链接
      projectlink: ''
    }
    let skillsItem = {
      // 技能介绍
      skillIntro: '',
    }
    this.setData({
      workItem: workItem,
      educationItem: educationItem,
      projectItem: projectItem,
      skillsItem: skillsItem
    })
  },
  //删除项目
  deleteItem(e) {
    let infotype = e.currentTarget.dataset.infotype
    let index = e.currentTarget.dataset.index
    let userInfo = this.data.userInfo
    userInfo[infotype].splice(index, 1)
    this.setData({
      userInfo: userInfo
    })
  },
  onLongTap(e){
    let that = this
    let projectindex = e.currentTarget.dataset.projectindex
    let projectimgIndex  = e.currentTarget.dataset.projectimgindex
    let item = e.currentTarget.dataset.item
    
    wx.showModal({
      title: '提示',
      content: '确定要删除这张图片吗？',
      success:(res)=>{
        if (res.confirm) {
          // 用户点击了确定
          wx.cloud.deleteFile({
            fileList:[item]
          })
          .then(res=>{
            console.log(res,'删除成功');
            let userInfo = that.data.userInfo
            userInfo.project[projectindex].projectimg.splice(projectimgIndex,1)
            that.setData({
              userInfo: userInfo
            })
          })
          .catch(err=>{
            console.log(err,'删除失败');
          })
        }else if (res.cancel) {
          // 用户点击了取消
          wx.showToast({
            title: '已取消删除',
            icon: 'none'
          });
        }
      }
    })
  },
  selectsex(e) {
    let sex = e.detail.value
    let userInfo = this.data.userInfo
    userInfo.sex = sex
    this.setData({
      userInfo: userInfo
    })
  },
  edit(){
    let that = this
    let useinfo = that.data.userInfo
    delete useinfo._id
    wx.cloud.callFunction({
      name:'updateuserlist',
      data:{
        id: that.data.query.id,
        newData:useinfo
      }
    }).then(res=>{
      wx.showToast({
        title: res.result.msg,
        icon: 'success'
      })
      wx.navigateTo({
        url: '/pages/myintro/index',
      })
    })
  },
  add() {
    //校验 姓名  年龄  性别  手机  邮箱 工作经历 教育经历 项目经验 自我评价
    if (!this.check()) {
      return
    }
    let that = this
    wx.cloud.callFunction({
      name: 'add',
      data: this.data.userInfo,
    })
      .then(res => {
        console.log(res, '添加成功');
        wx.showToast({
          title: '添加成功',
          icon: 'success'
        })
        that.clear()
        // 跳转到列表页面pages/myintro/index
        wx.navigateTo({
          url: '/pages/myintro/index',
        })
      
      })
  },
  // 校验函数
  check() {
    if (this.data.userInfo.username == '') {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.age == '') {
      wx.showToast({
        title: '请输入年龄',
        icon: 'none'
      })
      return false
    }
    // if(this.data.userInfo.sex=='0'){
    //   wx.showToast({
    //     title: '请选择性别',
    //     icon: 'none'
    //   })
    //   return false
    // }
    if (this.data.userInfo.phoneNumber == '') {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.email == '') {
      wx.showToast({
        title: '请输入邮箱',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.work.length == 0) {
      wx.showToast({
        title: '请添加工作经历',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.education.length == 0) {
      wx.showToast({
        title: '请添加教育经历',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.project.length == 0) {
      wx.showToast({
        title: '请添加项目经验',
        icon: 'none'
      })
      return false
    }
    if (this.data.userInfo.evaluate == '') {
      wx.showToast({
        title: '请输入自我评价',
        icon: 'none'
      })
      return false
    }
    return true
  },
  // 清空
  clear() {
    console.log('清空');
    this.setData({
      userInfo: {
        username: '',
        // 年龄
        age: '',
        sex: '0',
        avatarUrl: '',
        // 籍贯
        jiguan: '',
        //手机
        phoneNumber: '',
        // 邮箱
        email: '',
        // 技能特长
        skills: [
          {
            // 技能介绍
            skillIntro: '',
          }
        ],
        // 教育经历
        education: [
          {
            // 学历
            education: '',
            // 学校
            school: '',
            // 专业
            major: '',
            // 入学时间
            starttime: '',
            // 毕业时间
            endtime: ''
          }
        ],
        // 工作经历
        work: [
          {
            // 公司名称
            companyname: '',
            // 职位
            position: '',
            // 开始时间
            starttime: '',
            // 结束时间
            endtime: '',
            // 工作内容
            workcontent: ''
          }
        ],
        // 自我评价
        evaluate: '',
        // 项目经验
        project: [
          {
            // 项目时间
            projecttime: '',
            // 项目名称
            projectname: '',
            // 工作内容
            projectcontent: '',
            // 项目职责
            projectduty: '',
            // 项目技术
            projecttechnology: '',
            // 项目图片
            projectimg: [],
            // 项目链接
            projectlink: ''
          }
        ]
      }
    })
  },
  getdata() {
    let that = this
    wx.cloud.callFunction({
      name: 'getuserlist',
      data: that.data.query
    })
      .then(resp => {
        let result = resp.result.data
        if(result.length>0){
          //设置 userInfo 的回显值
            // let userInfo = that.data.userInfo
            // user
            that.setData({
              userInfo: result[0]
            })
        }
      })
  },
  del(e) {
    let that = this
    wx.cloud.callFunction({
      name: 'deluserlist',
      data: {
        id: e.target.dataset.id
      }
    })
      .then(res => {
        console.log(res, '删除成功');
        that.getdata()
      })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(options&&options.id){
      this.setData({
        query:{
          id:options.id
        }
      })
      this.getdata()
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})